package com.pureut.production.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pureut.production.domain.FeedRecord;
import com.pureut.production.domain.FeedRecordDetails;
import com.pureut.production.domain.dto.FeedRecordDetailsDto;
import com.pureut.production.domain.dto.FeedRecordDto;
import com.pureut.production.domain.dto.FeedRecordMoDto;
import com.pureut.production.domain.dto.FeedingStatisticsDto;
import com.pureut.production.domain.dto.retrospect.MaterialResumeFeedRecordDto;
import com.pureut.production.domain.vo.FeedRecordVo;
import com.pureut.production.domain.vo.FeedRecordmoVo;

import java.util.List;

/**
 * @Description
 * @Param
 * @Date
 * @Author hl
 **/
public interface IFeedRecordService extends IService<FeedRecord> {
    /**
     * 查询投料记录
     */
    List<FeedRecordDto> selectFeedRecordList(FeedRecordVo feedRecordVo);

    /**
     * 新增投料记录
     */
    int insertFeedRecord(FeedRecord feedRecord);

    /**
     * 批量新增投料记录
     */
    int insertBatchRecord(List<FeedRecord> feedRecordList);

    /**
     * 删除投料记录
     */
    int deleteFeedRecordById(long feedId);

    /**
     * 查询投料记录明细
     */
    List<FeedRecordDetailsDto> selectFeedRecordDetailsList(long feedId);

    /**
     * 新增投料记录明细
     */
    int insertFeedRecordDetails(FeedRecordDetails feedRecordDetails);

    /**
     * 统计投料记录
     */
    List<FeedingStatisticsDto> selectFeedRecordStatistics(long feedId);

    /**
     * 扫码投料
     * @param feedRecordmoVo
     * @return
     */
    FeedRecordMoDto feed(FeedRecordmoVo feedRecordmoVo);

    /**
     * 扫码撤销
     * @param feedRecordmoVo
     * @return
     */
    FeedRecordMoDto feedRepeal(FeedRecordmoVo feedRecordmoVo);


    /**
     * 查询当前制令单对应的信息
     * @param moNumber
     * @return
     */
    boolean getInfo(String moNumber);

    /**
     * 通过物料号码查询投料记录明细
     */
    MaterialResumeFeedRecordDto getMaterialNumberInfo(String materialNumber);

}
